/*
 * GeneradorArbol.java
 * Clase que hereda de DefaultMutableTreeNode que se utilza para guardar
 * la fila y columna de los nodos, para mostrar los errores
 * Ana Silvia Gonzales Torres 10194
 * Diego Alejandro Enriquez Rodriguez 10038
 */
package arbol;

import javax.swing.tree.DefaultMutableTreeNode;

/**
 *
 * @author Ana Silvia Gonzáles
 * @author Diego Enríquez
 */
public class Nodo extends DefaultMutableTreeNode{
    /**
     * La fila asociada al nodo.
     */
    private int fila;
    /**
     * La columna asociada al nodo.
     */
    private int columna;
    
    /**
     * Genera un nuevo nodo.
     * 
     * @param txt El texto del nodo.
     * @param fila La fila asociada al nodo.
     * @param columna La columna asociada al nodo.
     */
    public Nodo(String txt, int fila, int columna){
        super(txt);
        this.fila = fila;
        this.columna = columna;
    }
    
    /**
     * Obtiene un hijo especifico del nodo y lo castea a Nodo
     * 
     * @param index La posicion del nodo
     * @return El nodo buscado
     */
    @Override
    public Nodo getChildAt(int index){
        return (Nodo)super.getChildAt(index);
    }
    
    /**
     * Obtiene el primer hijo del nodo y lo castea a Nodo
     * 
     * @return El primer hijo del nodo
     */
    @Override
    public Nodo getFirstChild(){
        return (Nodo)super.getFirstChild();
    }
    
    /**
     * Obtiene el ultimo hijo del nodo y lo castea a Nodo
     * 
     * @return El ultimo hijo del nodo
     */
    @Override
    public Nodo getLastChild(){
        return (Nodo) super.getLastChild();
    }
    
    /**
     * Obtiene el padre del nodo y lo castea a nodo
     * 
     * @return El padre del nodo
     */
    @Override
    public Nodo getParent(){
        return (Nodo) super.getParent();
    }

    /**
     * Obtiene la fila asociada al nodo
     * 
     * @return La fila asociada al nodo
     */
    public int getFila() {
        return fila;
    }
    
    /**
     * Obtiene la columna asociada al nodo.
     * 
     * @return La columna asociada al nodo.
     */
    public int getColumna() {
        return columna;
    }
    
}
